A computer network is a collection of interconnected network devices that can exchange data and share resources. A One-Way Active Measurement Protocol (OWAMP) may be used to measure one-way metrics of network performance between two network devices. OWAMP can be used bi-directionally to measure one-way metrics in both directions between the two network devices, but OWAMP does not accommodate two-way or round trip measurements. A Two-Way Active Measurement Protocol (TWAMP) is based on OWAMP and adds the ability to measure two-way or round trip metrics of network performance between the two network devices. For example, TWAMP may be used to measure both two-way and one-way network performance indicators, such as path connectivity, path delay, packet jitter, packet loss, packet re-ordering, and the like.
A TWAMP measurement architecture includes at least two network devices, also referred to as hosts or endpoints, that each support TWAMP and perform specific roles to start data sessions and exchange test packets over the data sessions. TWAMP control messaging, used to initiate, start, and stop data sessions, occurs between a TWAMP control client and a TWAMP server. TWAMP data or test messaging, used to exchange test packets in order to measure network performance, occurs between a TWAMP session sender and a TWAMP session reflector. In an example network architecture, the logical roles of the TWAMP control client and the TWAMP session sender may both be executed by a first endpoint, and the logical roles of the TWAMP server and the TWAMP session reflector may both be executed by a second endpoint. In other example architectures, each of the logical roles may be executed on a different host. In still other example architectures, the TWAMP control client may be executed by a Software-Defined Network (SDN) controller that acts as a distributed control plane for the first and second endpoints.